The IMS (IP Multimedia Subsystem) is introduced at the stage of 3GPP (3rd Generation Partner Project) R5, in which the call control is totally independent from the service logic compared with the soft-switch network, and the IMS core network only controls the call, while the service logic is implemented by the service layer, and the interface for the IMS core network S-CSCF (Serving-Call Session Control Function) interacting with the AS (Application Server) is referred to as ISC (IP multimedia service control), in which the SIP (Session Initiation Protocol) is still applied.
In the service layer in the IMS network, there might be multiple independent ASs to deal with subscription service of one user, which brings the problem of interaction among several services, since there are correlation relationships among different service logics, for example, priorities should be kept among some service logics, some other service logics depend on each other, and still some others exclude with each other, in order to guarantee that the customers can get what they expect, the network should guarantee that the relationships among these service logics can be met, thus guarantee that the whole call is properly processed.
In the present protocol standards, it mainly relies on the iFCs (Initial filter criteria) to trigger several services, and one user might subscribe with several iFCs among which the priorities should be kept, and each iFC corresponds to one AS. The principle of iFC triggering is to make the text regular expression matching for the whole initial request, thus to trigger the service according to the any characteristic sub-string in the SIP message, which, combined with the fact that the AS name subscribed with the iFC can carry some characteristic parameters, can implement the following simple service interactions: 1) determine the triggering order of several ASs; 2) judge whether to trigger the next AS or not according to the specific content included in the SIP request; 3) when an AS implements several service logics, the AS name in the iFC is subscribed with a characteristic sub-string which is carried in the Route header in the request which triggers the AS, and the AS can determine which service logic to be implemented according to this characteristic sub-string; 4) for two adjacent ASs in the subscription, whether the latter AS is triggered or not is determined by the SIP message characteristic sub-string in the request forwarded by the former one.
However, implementing service nesting just according to the iFC has its limitations, 1) Any intermediate AS in the call chain can take the role of the B2BUA (Back to Back User Agent, an implementation mode of the SIP server), and regenerate a SIP request totally, thus the result processed by the former AS is totally removed from the characteristic in the SIP message, and the subsequent iFC matching in the subscription cannot be determined according to the services processed previously; 2) The AS in the upstream of the subscription cannot obtain processing information of the AS in the downstream, and when some characteristics of the service conflict, there will be error in the call processing.
The industry has already offered a method for implementing the interaction among several services by setting a SCIM (Service Capability Interaction Manager) between the S-CSCF and the AS, and there is special subject research in the 3GPP R8. The configuration of the SCIM is of the following three kinds: 1) centralized, in which all ASs interface with the S-CSCF through the same SCIM; 2) distributed, in which each AS might have built-in SCIM; 3) combined, in which some ASs can interact with the S-CSCF through the same SCIM, while some others have built-in SCIMs. In the centralized configuration, the SCIM can totally control the interaction among the ASs, and it is relatively easy to obtain the processing condition of all ASs participating in one call, however, due to the performance, deployment cost and the condition that the calling and called parties are in different domains, it is difficult for one SCIM to control all the ASs. In distributed or combined configuration, the interaction should be enforced among the SCIMs. However, on the whole, the definition for the SCIM capability is relatively vague, and it still needs time to be developed.